 1.电商分析之--会员活跃度之Tez简介及安装
   
   Hive on Tez
   Hortonworks在2014年左右发布了Stinger Initiative，并进行社区分享，为的是让Hive
支持更多SQL，并实现更好的性能。
    (1).让Hive的查询功能更强大。增加类似OVER子句的分析功能，支持WHERE子查询,以及
调整Hive的样式系统更多的符合标准的SQL模型；
	(2).优化Hive的请求执行计划，增加 Task 每秒处理记录的数量；
	(3).引入新的列式文件格式（ORC文件），提供一种更现代、高效和高性能的方式来储存
Hive数据；
	(4).引入新的runtime框架——Tez，消除Hive的延迟以及吞吐量限制。Tez通过消除不必要
的task、障碍同步和对HDFS的读写作业来优化Hive job；
   1).Tez概述
   Tez是Apache开源的支持DAG（有向无环图）作业的计算框架，是支持Hadoop 2.x 的重要
引擎。它源于MapReduce框架,核心思想是将Map和Reduce两个操作进一步拆分,分解后的元操
作可以任意灵活组合，产生新的操作,这些操作经过一些控制程序组装后,可形成一个大的
DAG作业。
   Tez将Map task和Reduce task进一步拆分为如下图所示：
   
   Tez的task由Input、processor、output阶段组成，可以表达所有复杂的map、reduce操作
,如下图：
   
   Tez可以将多个有依赖的作业转换为一个作业(只需写一次HDFS，中间环节较少)，从而大大
提升DAG作业的性能。Tez已被Hortonworks用于Hive引擎的优化,经测试一般小任务比Hive MR 
的2-3 倍速度左右,大任务7-10 倍左右,根据情况不同可能不一样。
   
   Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. 
Consider using a different execution engine (i.e. spark, tez) or using Hive 1.X releases.
   
   Tez+Hive仍采用 MapReduce 计算框架,但对DAG的作业依赖关系进行了裁剪,并将多个小作业
合并成一个大作业，不仅减少了计算量，而且写HDFS次数也大大减少。

   2).安装部署
   (1).下载软件包：apache-tez-0.9.2-bin.tar.gz
   (2).解压缩
   tar -zxvf apache-tez-0.9.2-bin.tar.gz -C /opt/lagou/servers/
   [root@linux121 servers]# mv apache-tez-0.9.2-bin/ tez/
   [root@linux121 servers]# cd tez/share
   (3).将tez的压缩包放到到hdfs上
   hdfs dfs -mkdir -p /user/tez
   hdfs dfs -put tez.tar.gz /user/tez
   (4).$HADOOP_HOME/etc/hadoop/ 下创建 tez-site.xml 文件，做如下配置：
<?xml version="1.0" encoding="UTF-8"?>

<configuration>
    <!-- 指定在hdfs上的tez包文件 -->
    <property>
        <name>tez.lib.uris</name>
        <value>hdfs://linux121:9000/user/tez/tez.tar.gz</value>
    </property>
</configuration>
   (5).增加客户端节点的配置(/etc/profile)
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop/   
export TEZ_CONF_DIR=$HADOOP_CONF_DIR
export TEZ_JARS=/opt/lagou/servers/tez/*:/opt/lagou/servers/tez/lib/* 
export HADOOP_CLASSPATH=$TEZ_CONF_DIR:$TEZ_JARS:$HADOOP_CLASSPATH

*/
   (6).Hive设置Tez执行
   hive> set hive.execution.1 engine=tez;
   (7).如果想默认使用Tez，可在$HIVE_HOME/conf目录下hive-site.xml 中增加
   <property>
       <name>hive.execution.engine</name>
       <value>tez</value>
   </property>